﻿using AMC.SubstitutionCache.Services;

using Orchard.DisplayManagement;

namespace AMC.SubstitutionCache.Events
{
    public class SubstitutionEventContext
    {
        public SubstitutionContext SubstitutionContext { get; set; }
    }

    public class SubstitutionReplaceContext : SubstitutionEventContext
    {
        public string ShapeOutput { get; set; }
    }

    public class SubstitutionShapeContext : SubstitutionEventContext
    {
        public IShape Shape { get; set; }
    }

    public class SubstitutionRenderContext : SubstitutionShapeContext
    {
        public string Output { get; set; }
    }

    public class SubstitutionAddingContext : SubstitutionShapeContext
    {
        public bool ShouldAdd { get; set; }
    }

    public class SubstitutionAddedContext : SubstitutionShapeContext { }

    public class SubstitutionReplacingContext : SubstitutionReplaceContext { }

    public class SubstitutionShapeCreatingContext : SubstitutionShapeContext { }

    public class SubstitutionShapeCreatedContext : SubstitutionShapeContext { }

    public class SubstitutionRenderingContext : SubstitutionRenderContext { }

    public class SubstitutionRenderedContext : SubstitutionRenderContext { }

    public class SubstitutionReplacedContext : SubstitutionReplaceContext { }
}